<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-ui.git/src/routes/(app)/invoice/[id]/+layout.server.ts, branch master</title>
<subtitle>coinos ui — legacy coinos.io web app (SvelteKit)</subtitle>
<id>https://git.coinos.io/coinos-ui.git/atom?h=master</id>
<link rel='self' href='https://git.coinos.io/coinos-ui.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/'/>
<updated>2026-09-22T18:27:15Z</updated>
<entry>
<title>invoice: a reusable bolt12 offer has no terminal paid state</title>
<updated>2026-09-22T18:27:15Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-22T18:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=802eea628fb77fed305de555995cf323174b0394'/>
<id>urn:sha1:802eea628fb77fed305de555995cf323174b0394</id>
<content type='text'>
A bolt12 offer is a standing payment code. CLN derives the same offer_id
from the same (amount, description), so re-creating one hands back the
original record, whose `received` has accumulated over the offer's whole
lifetime. The invoice layout read that as "this invoice was paid" and
redirected to the success screen, so reopening a long-lived offer never
showed the QR and left no way to copy the lno.

Treat a payment as celebratory only when it arrives while the page is
open: the socket handler now passes the amount of that payment as
`?paid=&lt;amount&gt;`, and the layout uses it in place of the lifetime total
for reusable offers. Single-use invoices keep the existing logic, so a
partly-paid invoice still stays on the QR rather than celebrating early.

The success screen showed lifetime `received` for the same reason, which
misreported a single payment to a long-lived offer; it now renders the
amount the socket reported, which is already net of tip.

Co-Authored-By: Claude Opus 5 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>redirect to paid route</title>
<updated>2025-09-09T19:38:40Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-09-09T19:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=a8d18ab66a8beb203b8ff0a056810000a3e069ea'/>
<id>urn:sha1:a8d18ab66a8beb203b8ff0a056810000a3e069ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>check for user in invoice route</title>
<updated>2025-09-09T16:18:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-09-09T16:18:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=76b781b2870e793cdeae85088b2d70e6a271e6a4'/>
<id>urn:sha1:76b781b2870e793cdeae85088b2d70e6a271e6a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>prompt for tip for auto pays</title>
<updated>2025-07-20T01:07:57Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-07-20T00:59:56Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=d87ecae6ee46af4790e1f57cd5d82a35ab29e646'/>
<id>urn:sha1:d87ecae6ee46af4790e1f57cd5d82a35ab29e646</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cache qrs</title>
<updated>2024-12-04T00:46:25Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-12-03T23:57:40Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=7801ce67ace77f5de98ddc38d7b0b45c68faeb6b'/>
<id>urn:sha1:7801ce67ace77f5de98ddc38d7b0b45c68faeb6b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lightning bolt</title>
<updated>2024-11-13T07:36:15Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-11-13T07:36:15Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=bee96ca44e871b0482012be50e8e7686f534c5a3'/>
<id>urn:sha1:bee96ca44e871b0482012be50e8e7686f534c5a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>default light theme</title>
<updated>2024-11-09T07:38:55Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-11-09T07:38:55Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=d47895ec4d54feef1114029ba11188362fa1222d'/>
<id>urn:sha1:d47895ec4d54feef1114029ba11188362fa1222d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix set amount</title>
<updated>2024-11-08T23:41:29Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-11-08T23:41:29Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=3468d9cab22cd69d6889187801a63900c7282493'/>
<id>urn:sha1:3468d9cab22cd69d6889187801a63900c7282493</id>
<content type='text'>
</content>
</entry>
<entry>
<title>svelte 5 fixups</title>
<updated>2024-11-08T23:19:04Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-11-08T23:19:04Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=84fb4b209a2650b2a93f3208ee9a23a44d8283c7'/>
<id>urn:sha1:84fb4b209a2650b2a93f3208ee9a23a44d8283c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>theme cookie</title>
<updated>2024-11-07T07:10:14Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2024-11-07T07:10:14Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-ui.git/commit/?id=fef8b840e14cfc935c59fea29957c78ff13d3312'/>
<id>urn:sha1:fef8b840e14cfc935c59fea29957c78ff13d3312</id>
<content type='text'>
</content>
</entry>
</feed>
